package com.erp.storage.dao.idl;


import java.util.BitSet;
import java.util.Map;
import java.util.Set;

import com.paipai.lang.uint16_t;
import com.paipai.lang.uint32_t;
import com.paipai.lang.uint64_t;
import com.paipai.lang.uint8_t;
import com.paipai.util.annotation.ApiProtocol;
import com.paipai.util.annotation.Field;
import com.paipai.util.annotation.HeadApiProtocol;
import com.paipai.util.annotation.Member;


public class StorageDdo {
	@Member(cPlusNamespace=  "erp::storage::ddo",desc = "仓库ddo", isNeedUFlag = true)
	public class StockDdo 
    {
		@Field(desc =   " 版本号   ", defaultValue=  "0" , optional = true)
        uint32_t  version;

        @Field(desc =   " 仓库SysNo " , optional = true)	
        uint64_t FStockSysNo;
        
        @Field(desc =   " 仓库ID " , optional = true)
        String FStockID;
        
        @Field(desc =   " 仓库全名" , optional = true)
        String FFullName;
        
        @Field(desc =   " 仓库简称" , optional = true)
        String FName;
        
        @Field(desc =   " 仓库属性  ",bitset=32 , optional = true)
        BitSet   FStockProperty;

        
        @Field(desc =   " 拼音码" , optional = true)
        String FPyCode;
        
        @Field(desc =   " 联系人SysNo" , optional = true)
        uint64_t FContactSysNos;
        
        @Field(desc =   " 仓库状态" , optional = true)
        uint32_t FStockStatus;
        
        @Field(desc =   " 创建人SysNo" , optional = true)
        uint64_t FCreatorSysNo;
        
        @Field(desc =   " 创建时间" , optional = true)
        uint32_t FRowCreatDate;
        
        @Field(desc =   " 修改人SysNo" , optional = true)
        uint64_t FModifierSysNo;
        
        @Field(desc =   " 修改时间" , optional = true)
        uint32_t FRowModifyDate;
    }
	
	@Member(cPlusNamespace=  "erp::storage::ddo",desc = "过滤ddo", isNeedUFlag = true)
	public class StockFilterDdo 
    {
		@Field(desc =   " 版本号   ", defaultValue=  "0" , optional = true)
        uint32_t  version;

        @Field(desc =   " 页码，从0开始 " , optional = true)
        uint32_t page;
        
        @Field(desc =   " 页面大小 " , optional = true)
        uint32_t pageSize;
        
        @Field(desc =   " 排序方式 ")
        uint16_t orderType;
        
        @Field(desc = "Id列表，若填写则其他过滤条件无效" , optional = true)
		Set<uint32_t> idList;
		
        @Field(desc =   " 仓库SysNo " , optional = true)	
        uint64_t FStockSysNo;
        
        @Field(desc =   " 仓库ID " , optional = true)
        String FStockID;
        
        @Field(desc =   " 拼音码" , optional = true)
        String FPyCode;
        
        @Field(desc =   " 仓库全名" , optional = true)
        String FFullName;
        
        @Field(desc =   " 仓库简称" , optional = true)
        String FName;
        

        @Field(desc =   " 仓库状态" , optional = true)
        uint32_t FStatus;
        
        
        
        @Field(desc =   " 扩展" , optional = true)
        Map<String,String> extern;
    }
}